package com.pearadmin.pro.repository.sys.domain;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.pearadmin.pro.common.web.base.domain.BaseDomain;
import com.pearadmin.pro.common.web.interceptor.enums.Scope;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.ibatis.type.Alias;

/**
 * @author wangxiaozhe
 */
@Data
@Alias("SysHost")
@ApiModel("主机实体")
@TableName("sys_host")
@EqualsAndHashCode(callSuper = true)
public class SysHost extends BaseDomain {

    /**
     * 主机编号
     */
    @TableId("id")
    @ApiModelProperty("主机编号")
    private String id;

    /**
     * 主机名称
     */
    @TableField("host_name")
    @ApiModelProperty("主机名称")
    private String hostName;

    /**
     * 主机Ip地址
     */
    @TableField("ip_addr")
    @ApiModelProperty("主机ip地址")
    private String ipAddr;

    /**
     * 数据权限
     */
    @TableField("scope")
    @ApiModelProperty("数据权限")
    private Scope scope;

    /**
     * 租户编号
     */
    @TableField("tenant_id")
    @ApiModelProperty("所属租户")
    private String tenantId;

    /**
     * 排序
     */
    @TableField("sort")
    private Integer sort;

    /**
     * 启用
     */
    @TableField("enable")
    private Boolean enable;

    /**
     * 主机状态对象, 非数据库字段
     */
    private SysInfo sysInfo;
}
